1. Field of the Invention
This invention is directed to error-prone communications networks and, more particularly, to a system for providing protocol-independent, adaptive error-correction that applies to both wireless asynchronous transfer mode or internet protocol networks.
2. Background
The need for interoperability among computing and communications equipment has led to the adoption of various communication networking standards. Two of the more popular standards are Asynchronous Transfer Mode (“ATM”) and the Internet Protocols (“IP”), including Transmission Control Protocol (“TCP”). ATM is a connection-oriented non-reliable protocol that was designed with an extremely fast and reliable transmission medium in mind. TCP is a reliable, connection-oriented sliding-window protocol that uses positive acknowledgments.
ATM is a communications networking technology that carries information (including voice, video, and data) in 53-byte segments known as “cells.” The fixed-length cell allows a network to carry any type of information within the cell and also provide stringent service qualities that can differ by application. ATM is asynchronous in the sense that the recurrence of the cells containing information from an individual user is not necessarily periodic. ATM is distance-independent and may be deployed in both local area networks (“LANs”) and wide area networks (“WANs”).
ATM networks may be built from many different kinds of physical medium. ATM networks may use copper wire, coaxial cable, fiber, wireless, and even satellite links. The physical medium choice for an ATM network is dependent upon the existing physical medium being used, the speed requirements, tools and test equipment, right-of-way, and budget. ATM does not provide for correction of errors during the transmission of information. The end equipment or end-user application typically corrects for the corrupted (or errored) information, often via retransmission, but this correction causes delay. Therefore, choosing an ATM medium that minimizes potential damage to the information being transmitted is important, especially when distances are long and retransmissions have a greater impact on application performance and network congestion.
A transmission protocol is the set of rules guiding the exchange of information on the physical medium. Some common transmission protocols that ATM operates over are DSL, T1, E1, T3, E3, and SONET/SDH.
ATM “adaptation” provides a set of instructions for packing user information into the ATM cell. Adaptation is performed by an ATM Adaptation Layer (“AAL”). Each different type of information, such as voice, video, and computer transmissions can have a different packing scheme, depending on its transportation requirements. The 53-byte ATM cell is typically not large enough to carry most communication exchanges, so the user-information must be broken up to fit into the fixed-length cells. This slicing is known as “segmentation.” “Reassembly” puts all the pieces back together again at the receiving end.
The cells travel on the selected transmission protocol using known, end-to-end routes identified as virtual connections. A virtual connection defines a logical networking path between two endpoints on the network, and the ATM cells going from one point to the other travel over this connection. Virtual connections are logical because they are defined in software or in the memory of the networking devices. An ATM network may have two types of virtual connections, depending on the addressing used to switch the traffic. A virtual channel connection (“VCC”) uses all the addressing bits of the cell header to move traffic from one link to another. The VCC is formed by joining a series of virtual circuits which are the logical circuits uniquely defined for each link of the network. A virtual path connection (“VPC”) uses the higher order addressing bits of the cell header to move traffic from one link to another. A VPC carries many VCCs within it. The VPC is formed by joining a series of virtual paths which are the logical groups of virtual circuits uniquely defined for each link of the network. Each ATM cell-header contains a virtual circuit indicator (“VCI”) and a virtual path indicator (“VPI”) which are locally-significant switching labels that are unique at each ATM interface, and allow individual ATM cells to be routed along the correct end-to-end VPCs and VCCs.
ATM is a connection-oriented networking technology that uses label multiplexing in order to provide both Quality of Service (QoS) guarantees and statistical multiplexing gains. The allocation and sharing of resources is handled on a connection-by-connection basis in an ATM network, through the definition of a traffic contract and an assigned quality of service (“QoS”). The traffic contract of each connection is defined by selecting the service category and associated bandwidth rate. The selected service category and bandwidth rate determines the supported QoS.
ATM supports various classes of service, known as service categories, to support different applications with different levels of performance. The assigned service category of each connection determines how the network prioritizes and allocates resources during a transmission. Each virtual connection (VCC or VPC) in an ATM network has a service category.
Since ATM networks are connection-oriented, a connection-setup phase occurs before the flow of user-data begins. During connection-setup, the user may signal various Quality of Service (“QoS”) parameters and traffic characteristics to the network via the User-Network Interface (“UNI”) protocol. For end-to-end transmission, the sender segments the transmitted user-data into ATM cells. Each of those 53 byte ATM cells has a five-byte cell-header, and can carry up to 48 bytes of user-data. Hence, the QoS parameters are cell-based ones, such as Cell Transfer Delay (“CTD”), Cell Delay Variation (“CDV”) and Cell Loss Ratio (“CLR”).
If an ATM user requests a given QoS, or traffic contract, from an ATM network then that user must also supply the traffic characteristics for that connection to the network. The network then does Call Admission Control (“CAC”) based on the network's CAC algorithm, the requested QoS, those traffic characteristics and the contracted QoS for other existing connections. If the network can provide the requested QoS, without violating the contracted QoS for the existing connections, then it usually accepts the new connection. Otherwise, it typically rejects that connection.
ATM supports several service categories that are optimized for different types of multimedia datastreams. Constant Bit Rate (“CBR”) service is intended for predictable traffic sources such as PCM-coded voice. As such, CBR users want end-to-end guarantees for CTD, CDV and CLR. Variable Bit Rate (“VBR”) service is intended for bursty data services that have predictable values for their peak and average data rates. One example is statistical multiplexing of voice streams that use silence detection. Those streams only produce voice samples when the speaker is active. Hence, the average bit-rate is only about 40% of the peak bit-rate. The ATM Forum further differentiates between real-time VBR (“rt-VBR”) that requests CTD, CDV and CLR guarantees, and non-real-time VBR (“nrt-VBR”) which only requests a CLR guarantee. ATM Available Bit Rate (“ABR”) service makes use of the bandwidth left over from CBR and VBR services. As discussed above, the QoS objectives for CBR and VBR traffic are achieved primarily by resource reservation. In contrast, ABR service uses flow control to attempt to maximize the ABR throughput, and minimize the ABR cell-loss, without affecting the previously guaranteed QoS for CBR and VBR traffic. Finally, Unspecified Bit Rate (UBR) service provides no QoS guarantees. It is similar to traditional best-effort traffic in existing IP (Internet Protocol) networks.
The progress towards ATM transport in fixed networks has already begun. It can be expected that new applications will evolve that fully exploit all the capabilities of the ATM transport technology. Users will get used to this new service level and require that the same applications be able to run over error-prone communications networks, such as wireless links. To make this possible, a wireless interface must be developed to support ATM quality of service parameters. The benefits of a wireless ATM access technology should be observed by a user as improved service and improved accessibility. By preserving the essential characteristics of ATM transmission, wireless ATM offers the promise of improved performance and quality of service, not attainable by other wireless communications systems like cellular systems, cordless networks or wireless LANs. In addition, wireless ATM access provides location independence that removes a major limiting factor in the use of computers and powerful telecom equipment over wired networks.
TCP/IP is a family of protocols tailored to address specific applications within an internet. These protocols fall within various layers of the OSI (“Open Systems Interconnection) protocol stack.
Subnetworks are managed at the physical and data link layers. While these layers are not part of the TCP/IP protocol, they do interact with the protocol stack. For example, to reach an IP address, the IP address must first be translated into a Local Area Network (“LAN”) machine address.
Internetworking is managed by the IP protocol at the network layer. IP does not support error control, so it relies on another protocol, such as TCP, for this function. These protocols and others encapsulate data into envelopes referred to as protocol data units. From the transport level to the network layer (i.e., from TCP to IP), the PDU is referred to as a segment. A datagram refers to PDUs passed from the network layer down to the data link layer. Once a data unit has passed through the various layers, it is considered a frame. Once the data unit has been passed over the network, it is referred to as a packet.
Employing protocols such as ATM and TCP/IP over error-prone communications networks, such as wireless networks, is difficult because these protocols were designed for optimal efficiency in wired networks having different transmission characteristics. Two of these characteristics are significant as they relate to the use of these protocols in wireless environments. First, wireless media are more susceptible to unwanted noise and interference. Thus, the bit error rate (“BER”) of wireless media is often several orders of magnitude higher than that of wired media. Second, transmission of information over geosynchronous earth orbit (“GEO”) satellites introduces a round trip signal propagation delay of approximately 500 ms. As a result, existing Automatic Repeat Request (“ARQ”) protocols, such as TCP perform poorly.
Since ATM was designed to perform over extremely reliable transmission media, neither ATM nor any of the standardized AALs provide an error correction mechanism. The ATM layer discards any cells with errored cell headers. Similarly, most AALs also discard any errored AAL PDUs, and rely upon higher layers to correct errored data. Since error correction is not applied at each link, errors may only be detected at the endpoints of communication. When one of the links is a radio-frequency (“RF”) link, the probability of errors increases and the efficiency of the communications channel decreases. In that case, local retransmissions across the RF link may significantly enhance the end-to-end efficiency of the communications channel.
TCP/IP employs certain algorithms that make the protocol well-behaved and efficient in a terrestrial network. These algorithms perform poorly, however, over high-delay, error-prone wireless or satellite communication channels. Members of the TCP over Satellite (“TCPoS”) working group of the Internet Engineering Task Force have identified four network congestion control algorithms among the shortcomings related to the implementation of TCP over wireless communication media: (1) Slow Start; (2) Congestion Avoidance; (3) Fast Retransmit and Fast Recovery; and (4) Selective Acknowledgment.
The Slow Start Algorithm is designed to keep a data sender from overwhelming a communications link by only sending new packets at a rate equal to that at which the sender receives acknowledgments for transmitted data. The sender starts by sending a single packet and doubles the number of additional packets sent each time an acknowledgment is received until it receives the advertised window size of the receiver. The time needed for the sender to reach a state of maximum channel utilization is already significant in terrestrial, wired networks. Satellite transmission increases this time and degrades performance by increasing the acknowledgment round trip time.
The Congestion Avoidance algorithm assumes that a time-out occurs due to packet loss from link congestion. In a wired network, this assumption may be valid. In a wireless environment, data can be lost due to RF noise and interference. Upon detection of network congestion, the algorithm causes the sender to reduce its rate and then increase its rate in a linear fashion in response to acknowledgments. However, multiple packet loss within the current congestion window triggers Slow Start, which may reduce the transmitter's window size back to one. As such, in a wireless network, the loss of packets may cause TCP to continually return to the Slow Start and, therefore, never achieve maximum efficiency.
The Fast Retransmit algorithm uses duplicate acknowledgments from the receiver to determine that a segment was lost. The sender will then initiate the Congestion Avoidance algorithm. While an advantage over Slow Start, Fast Retransmit is not widely available for certain platforms.
The Selective Acknowledgment algorithm provides the sender an acknowledgment for all segments arriving without error. This improves performance by allowing the sender to resend only lost segments and not all unacknowledged segments. Like Fast Retransmit, however, Selective Acknowledgment is not yet available for all platforms.